<template>
	<view class="detail">
		<view class="title">{{ detail.title }}</view>
		<view class="info">
			<view class="author">编辑：{{ detail.author }}</view>
			<view class="time">发布日期：{{ detail.posttime }}</view>
		</view>
		<view class="content">
			<!-- rich-text标签的作用是将一段html代码转换成拥有效果的格式，:nodes是指定要被转换的数据 -->
			<rich-text :nodes="detail.content"></rich-text>
		</view>
		<view class="description">
			声明：本站的内容均采集与腾讯新闻，如果侵权请联系管理（3445314124@qq.com）进行整改删除，本站进行了内容采集不代表本站及作者观点，若有侵犯请及时联系管理员，谢谢支持。</view>
	</view>
</template>

<script>
	// 引入公共库，也就是包
	import {
		parseTime
	} from '@/utils/tool.js'

	export default {
		data() {
			return {
				options: null,
				detail: {}
			}
		},
		onLoad(e) {
			// console.log(e);
			this.options = e // e接收的是index组件瓶凭借路由跳转到当前组件时传递的路由参数,它是一个对象形式的数据
			this.getDetail()
		},
		methods: {
			// 获取指定新闻的具体信息的方法
			getDetail() {
				uni.request({
					url: "https://ku.qingnian8.com/dataApi/news/detail.php",
					data: this.options,
					success: res => {
						// console.log(res);
						// 利用导入的公共库处理获取到的时间戳
						res.data.posttime = parseTime(res.data.posttime)
						// 处理获取到的富文本内容
						res.data.content = res.data.content.replace(/<img/gi, '<img style="max-width:100%;"');
						this.detail = res.data
						this.saveDetail()
						uni.setNavigationBarTitle({
							// 设置顶部标题栏的标题为变量this.detail.title
							title: this.detail.title
						})
					}
				})
			},
			// 这个方法用于将获取到的新闻的具体信息存储到本地存储当中
			saveDetail() {
				// 如果本地存储中有key键为historyArr的数据，那么就把这个key对应的值赋值给historyArr，如果没有，就给historyArr赋值为一个空数组
				let historyArr = uni.getStorageSync("historyArr") || []
				let item = {
					id: this.detail.id,
					classid: this.detail.classid,
					picurl: this.detail.picurl,
					title: this.detail.title,
					looktime: parseTime(Date.now())
				}
				historyArr.unshift(item)
				uni.setStorageSync('historyArr',historyArr)	// 在本地存储中添加一个数据，属性名为 historyArr，属性值为historyArr对象
			}
		}
	}
</script>

<style lang="scss">
	.detail {
		padding: 30rpx;

		.title {
			font-size: 50rpx;
			color: #333;
			line-height: 1.6em;
		}

		.info {
			padding: 20rpx 20rpx;
			margin: 30rpx 0;
			height: 80rpx;
			background: #f6f6f6;
			display: flex;
			justify-content: space-between;
			align-items: center;
			font-size: 22rpx;
			color: #888;
		}

		.content {
			padding-bottom: 50rpx;
			// 下面这种写法在微信小程序中会报错
			// /deep/ img{
			// 	max-width: 100%;
			// }
		}

		.description {
			background: #FEF0F0;
			font-size: 26rpx;
			padding: 20rpx;
			color: #F89898;
			line-height: 1.8em;
		}

	}
</style>